home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 22 / Cream of the Crop 22.iso / bbs / cq112.zip / CQREC.REC < prev    next >
Text File  |  1996-11-10  |  13KB  |  289 lines

  1. ╔════════════════════════════════════════════════════════════════════════════╗
  2. ║ OFFICIAL CRIME QUEST RECORD STRUCTURE - FOR GAME DEVELOPMENT USE    v1.06+ ║
  3. ╚════════════════════════════════════════════════════════════════════════════╝
  4.  
  5. These are the official pascal file structures for the player and enemy files
  6. of Crime Quest v1.06+.  This file was last updated on 09-17-96.  For the
  7. software developers use.                                                                           
  8.  
  9. Crime Quest - "Busting The Bad Guys"        
  10. (C) Copyright 1996 Brian Leiter, The Computer Doctor
  11.     and Spectrum Software ALL RIGHTS RESERVED.   
  12.  
  13. A note from Brian Leiter:  You have my permission to build add-ons, editors,
  14. IGMs, and whatever - BUT, if you decide to charge money for them I would
  15. appreciate it if you would upload me your file privately!  This will let me
  16. evaluate it and see if it deserves my stamp of approval.
  17.  
  18. *NOTICE* Some changes to the date fields will only work if Crime Quest is
  19.          REGISTERED!
  20.  
  21. That's right, I'm not against others making money off their IGMS, in fact, I
  22. don't demand any percentage whatsoever.  God knows I'm going to make much more
  23. than I probably deserve.  Just try not to charge more than $5.00 to $10.00 for
  24. it, okay?
  25.  
  26. Also, in ANY utility for CRIME QUEST, be sure to give some credit to ME!   
  27.  
  28. If you are going to build a CRIME QUEST Internal Game Module (IGM), you
  29. MUST meet these specifications to call it such:                                
  30.                                                                      
  31. 1. It reads NO external drop file, but gets all data from the dropfile.???    
  32.    file. (Where ??? will be the node number)
  33.                                                                      
  34. 2. It has options to install AND uninstall itself. (ie, add the program to the
  35.    CQIGMS.DAT file itself)
  36.                                                                         
  37. 3. The top line if the file_id.diz is like this:                    
  38.    <NAME & VERSION OF YOUR PROG> CRIME QUEST IGM  (Decorate if you like)      
  39.  
  40. 4. It must be as professional looking as crime quest with ANSI screens!
  41.  
  42. 5. To be called an OFFICIAL CQ IGM, it must meet my stamp of approval and I
  43.    will then netmail you with other instructions.
  44.  
  45. The reason I'm giving these specific instructions is because a few others have
  46. released their software as IGM's, sysops expect the "simple" installation they
  47. got with the original game.  But, instead find themselves having to mess with
  48. writing dropfiles for the CRIME QUEST IGM separately - which can be a mess,
  49. especially if the drop file is overwritten while someone else goes into the
  50. game, etc.
  51.  
  52. ╔════════════════════════════════════════════════════════════════════════════╗
  53. ║                 - HOW DO I MAKE AN INTERNAL GAME MODULE -                  ║
  54. ╚════════════════════════════════════════════════════════════════════════════╝
  55.  
  56. It is really sort of easy.  The smartest way is to write your door to be able
  57. to read the DROPFILE.??? file - (For com port, port speed, etc) these are text
  58. editable, so you should be able to figure them out ok. (Where ??? will be the
  59. node number)
  60.  
  61. It comes down to this:  Someone will be able to unzip your program, and run
  62. the Config/Installer, and it will add two lines to the CQIGMS.DAT file.  These
  63. two lines are ALL CRIME QUEST needs to automatically list your door name as it
  64. appears to the players, (second line) and the path and name of the EXE or BAT
  65. file that is run.  Look at the CQIGMS.DAT file, it comes with one IGM already
  66. installed for you!  Note: The CQIGMS.DAT file is automatically created when
  67. CRIME QUEST is ran if it doesn't exist.
  68.  
  69. Please be considerate enough to throw a 'Uninstall' option in your configure
  70. program - To find your two lines and strip them out, just in case the sysop
  71. decides not to keep it.  Sure, most sysops can edit the CQIGMS.DAT file
  72. themselves, but it's a nice option anyway.
  73.  
  74. There you have it - The goal of this is to make installing add-ons much easier
  75. then installing a whole new door, because they will not have to re-configure
  76. any com port settings, or node settings, because you will be reading the
  77. DROPFILE.??? file.  This also means you don't have to mess with drop files at
  78. all, since using the 'record number' from the DROPFILE.??? file lets you load
  79. the entire record, including their BBS handle and CRIME QUEST character of
  80. course. (Where ??? will be the node number)
  81.  
  82. ╔════════════════════════════════════════════════════════════════════════════╗
  83. ║                 - THE STRUCTURE OF THE DROPFILE.DAT FILE -                 ║
  84. ╚════════════════════════════════════════════════════════════════════════════╝
  85.  
  86. BRIAN
  87. LEITER
  88. XCOPPER
  89. 0
  90. TRUE
  91. 60
  92. 0
  93. 0
  94. 38400
  95. Reserved For Future Use
  96. Reserved For Future Use
  97. Reserved For Future Use
  98.  
  99. ┌─[ Crime Quest IGM Dropfile ]─────────────────────────┐
  100. │                                                      │
  101. │ Line  1: Users Real First Name                       │
  102. │ Line  2: Users Real Last Name                        │
  103. │ Line  3: Crime Quest Character Name                  │
  104. │ Line  4: Players Record Number                       │
  105. │ Line  5: Using Ansi?  True or False (Should be TRUE) │
  106. │ Line  6: Time Left In Minutes                        │
  107. │ Line  7: Comport                                     │
  108. │ Line  8: Users Baud Rate                             │
  109. │ Line  9: Locked Port Rate                            │
  110. │ Line 10: Reserved For Future Use                     │
  111. │ Line 11: Reserved For Future Use                     │
  112. │ Line 12: Reserved For Future Use                     │
  113. └──────────────────────────────────────────────────────┘
  114.  
  115. ╔════════════════════════════════════════════════════════════════════════════╗
  116. ║                         - THE PLAYER DATA FILE -                           ║
  117. ╚════════════════════════════════════════════════════════════════════════════╝
  118.  
  119. {CQPLAYER.DAT}
  120. Type
  121.   Player_Info   = Record      {CRIME QUEST RECORD STRUCTURE AS OF 08-19-96}
  122.   RecordNumber  : Integer;    {Record number - Max=32000}
  123.   Start_Date    : String[10]; {Date player started playing before killed}
  124.   End_Date      : String[10]; {Date when player was killed}
  125.   Real_Name     : String[30]; {Real name from the BBS}
  126.   Character     : String[15]; {Players alias in the game}
  127.   Rank          : Integer;    {Rank - 1 to 9}
  128.   Division      : Integer;    {Division - 1 to 9}
  129.   Level         : Integer;    {Game level - 1 to 225}
  130.   Sex           : Char;       {M=Male F=Female}
  131.   GoodBad       : Char;       {Preference G=Good or B=Bad}
  132.   Skills        : Char;       {Skill - 0,1,2 or 3}
  133.   Skill1        : Integer;    {Number of skill points-50 masters - Max=50}
  134.   Skill2        : Integer;    {Number of skill points-50 masters - Max=50}
  135.   Skill3        : Integer;    {Number of skill points-50 masters - Max=50}
  136.   Armor_Name    : String[20]; {Name of current armor}
  137.   Armor_Num     : Integer;    {Current armor number - 0 to 12}
  138.   Defense_Str   : Integer;    {Defense strength}
  139.   Weapon_Name   : String[20]; {Name of current weapon}
  140.   Weapon_Num    : Integer;    {Current weapon number - 0 to 12}
  141.   Attack_Str    : Integer;    {Attack strength}
  142.   Special_Event : Integer;    {If 5, 'special' event will happen}
  143.   SW_Uses       : Integer;    {Special weapon uses - Max=999}
  144.   Attacks_Left  : Integer;    {Attacks left - Max=999}
  145.   Player_Fights : Integer;    {Player fights left - Max=999}
  146.   Player_Kills  : Integer;    {Number of player kills - Max=999}
  147.   Lays          : Integer;    {Number of player lays - Max=999}
  148.   Chief         : Integer;    {Times player has won the game - Max=999}
  149.   Hosp_Visits   : Integer;    {Number of hospital visits left - Max=999}
  150.   Hit_Points    : Integer;    {Players current hit points - Max=32000}
  151.   Hit_Max       : Integer;    {Players maximum hit_points - Max=32000}
  152.   Last_Day      : Integer;    {Day number}
  153.   Cash_On_Hand  : Longint;    {Cash in hand - Max=2147483647}
  154.   Bank          : Longint;    {Cash in bank - Max=2147483647}
  155.   Credit        : Longint;    {Current credit amount - Max=2147483647}
  156.   Loan_Amt      : Longint;    {Current loan amount - Max=2147483647}
  157.   Experience    : Longint;    {Current experience - Max=2147483647}
  158.   Atk_Trainer   : Boolean;    {Attacked the Trainer - T/F}
  159.   Partner       : Boolean;    {Player has a partner - T/F}
  160.   Radar         : Boolean;    {Player used radar/jammer - T/F}
  161.   Computer      : Boolean;    {Player used the computer - T/F}
  162.   Station       : Boolean;    {Player at station/hideout(safety) - T/F}
  163.   Special_Done  : Boolean;    {Player has done 'special' - T/F}
  164.   Played_Today  : Boolean;    {Player played today - T/F}
  165.   Got_Gas       : Boolean;    {Player got gasoline - T/F}
  166.   Got_Prisoner  : Boolean;    {Got prisoner - T/F}
  167.   Loan          : Boolean;    {Player has a loan - T/F}
  168.   Dead          : Boolean;    {Player dead - T/F}
  169.   Seen_Frank    : Boolean;    {Seen frank - T/F}
  170.   Flirted_Today : Boolean;    {Seen whore - T/F}
  171.   Seen_Trainer  : Boolean;    {Seen trainer - T/F}
  172.   Ques_Trainer  : Boolean;    {Questioned Trainer - T/F}
  173.   OnNow         : Boolean;    {Player Online Now - T/F}
  174.   Busy          : Boolean;    {Player Busy}
  175.   CurrentNode   : Integer;    {Players Current Node Number}
  176.   State         : String[15]; {Current State}
  177.   City          : String[15]; {Current City}
  178.   Editor_Used   : String[10]; {Date Editor Used}
  179.   VersionInfo   : String[10]; {Version Information}
  180.   UsedCheats    : Boolean;    {Used cheat codes}
  181.   LotteryUses   : Integer;    {Number of uses left}
  182.   Reserved1     : String;     {Reserved for future use}
  183.   Reserved2     : LongInt;    {Reserved for future use}
  184.   Reserved3     : Integer;    {Reserved for future use}
  185.   Reserved4     : Boolean;    {Mastered All Skills}
  186. End;
  187.  
  188. ╔════════════════════════════════════════════════════════════════════════════╗
  189. ║                        - THE NPC PLAYER DATA FILE -                        ║
  190. ╚════════════════════════════════════════════════════════════════════════════╝
  191.  
  192. {CQ.NPC}
  193. Type
  194.   NPC_Info      = Record
  195.   Name          : String[15];
  196.   GoodBad       : Char;
  197.   Weapon        : String[20];
  198.   Sex           : Char;
  199.   AtkStr        : Integer;
  200.   DefenseStr    : Integer;
  201.   Experience    : LongInt;
  202.   Cash          : LongInt;
  203.   HitPoints     : Integer;
  204.   MaxHit        : Integer;
  205.   Dead          : Boolean;
  206.   AddPlayer     : Boolean;
  207. End;
  208.  
  209. ╔════════════════════════════════════════════════════════════════════════════╗
  210. ║                   - THE PLAYER WEAPON AND ARMOR FILES -                    ║
  211. ╚════════════════════════════════════════════════════════════════════════════╝
  212.  
  213. {PWEAPON.DAT}
  214. Type
  215.   PWeapon  = Record
  216.   Name     : String[20]; {Weapon Name 0-12}
  217.   Cost     : LongInt;    {Weapon Cost}
  218. End;
  219.  
  220. {PARMOR.DAT}
  221. Type
  222.   PArmor   = Record
  223.   Name     : String[20]; {Armor Name 0-12}
  224.   Cost     : LongInt;    {Armor Cost}
  225. End;
  226.  
  227. ╔════════════════════════════════════════════════════════════════════════════╗
  228. ║                       - THE CRIME QUEST WORD FILE -                        ║
  229. ╚════════════════════════════════════════════════════════════════════════════╝
  230.  
  231. {CQWORDS.DAT}
  232. Type
  233.   CQWordFile  = Record
  234.   Scrambled,                  {Scrambled Word}
  235.   Unscrambled : String[20];   {Unscrambled Word}
  236. End;
  237.  
  238. ╔════════════════════════════════════════════════════════════════════════════╗
  239. ║                     - THE GOOD AND BAD PERSON FILES -                      ║
  240. ╚════════════════════════════════════════════════════════════════════════════╝
  241.  
  242. {GOOD.DAT}
  243. Type
  244.   Good_Info     = Record
  245.   Name          : String[15];
  246.   Crime         : String[40];
  247.   Weapon        : String[20];
  248. End;
  249.  
  250. {BAD.DAT}
  251. Type
  252.   Bad_Info      = Record
  253.   Name          : String[15];
  254.   Crime         : String[40];
  255.   Weapon        : String[20];
  256. End;
  257.  
  258. ╔════════════════════════════════════════════════════════════════════════════╗
  259. ║                 - THE GOOD AND BAD RANK/DIVISION FILES -                   ║
  260. ╚════════════════════════════════════════════════════════════════════════════╝
  261.  
  262. {GRANK.DAT}
  263. Type
  264.   GRanks   = Record
  265.   Rank     : Array[1..9] of String[16];
  266.   Division : Array[1..9] of String[17];
  267. End;
  268.  
  269. {BRANK.DAT}
  270. Type
  271.   BRanks   = Record
  272.   Rank     : Array[1..9] of String[16];
  273.   Division : Array[1..9] of String[17];
  274. End;
  275. ╔════════════════════════════════════════════════════════════════════════════╗
  276. ║                             - CLOSING NOTES -                              ║
  277. ╚════════════════════════════════════════════════════════════════════════════╝
  278.  
  279. Well... that should about do it for now!  If you want to become an "OFFICAL"
  280. Crime Quest IGM Author, make SURE that you send me the IGM(s) for approval
  281. BEFORE you make them public.  An offical Crime Quest IGM MUST reflect the
  282. following words on the welcome screen:
  283.  
  284. "An Offical Crime Quest Internal Game Module" or "An Offical Crime Quest IGM"
  285.  
  286. You will then be given a CQIGM# to put on that screen reflecting the Official
  287. Number you were given.
  288.  
  289.